Towards An Understanding Of Sat Solvers